package file;
import java.io.Serializable;
import java.util.List;
/*
 * 一个对象若想通过ObjectOutputStream进行序列化，那么
 * 该对象所属的类必须实现Serializable接口
 * 该接口没有定义任何抽象方法，实现该接口仅仅用于标识当前类的实例可以被序列化
 */
public class Person implements Serializable{
	/**
	 * 当类的属性增加或修改了，如果版本号没有变，
	 * 那么反序列化时会尽可能兼容现有版本
	 * 若版本号发生了改变，那么反序列化时就会抛出异常。
	 */
	private static final long serialVersionUID = 1L;
	private String name;
	private int age;
	private char gendar;
	/*
	 * transient序列化的时候忽略该属性（在其他的方面使用上都不影响）
	 */
	private transient double salary;
	private List<String> otherInfo;
	public Person() {
	}
	//构造方法
	
	//重写toString
	public String toString(){
		return name+","+age+","+gendar+","+salary+","+otherInfo;
	}
	public Person(String name, int age, char gendar, double salary,
			List<String> otherInfo) {
		super();
		this.name = name;
		this.age = age;
		this.gendar = gendar;
		this.salary = salary;
		this.otherInfo = otherInfo;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public char getGendar() {
		return gendar;
	}
	public void setGendar(char gendar) {
		this.gendar = gendar;
	}
	public double getSalary() {
		return salary;
	}
	public void setSalary(double salary) {
		this.salary = salary;
	}
	public List<String> getOtherInfo() {
		return otherInfo;
	}
	public void setOtherInfo(List<String> otherInfo) {
		this.otherInfo = otherInfo;
	}
}
